package ar.fiuba.tp7552.buildadmin.model.expensas;

import java.math.BigDecimal;
import java.util.Date;

import ar.fiuba.tp7552.buildadmin.model.builds.Edificio;
import ar.fiuba.tp7552.buildadmin.model.builds.Responsable;
import ar.fiuba.tp7552.buildadmin.util.CalendarUtil;


public class Liquidacion extends Expensa {
	
	private BigDecimal deudaPrevia;
	private BigDecimal interes2Vto = BigDecimal.ZERO; 
	private Integer anio;
	private Integer mes;
	private Responsable responsable;
	
	public Date getVencimiento1() {
		Integer dia = this.getPropiedad().getTipo().getEdificio().getVencimiento1();
		return CalendarUtil.createDate(dia, getMes(), getAnio());
	}
	
	public Date getVencimiento2() {
		Edificio edificio = this.getPropiedad().getTipo().getEdificio();
		if (TipoInteres.SEGUNDO_VENCIMIENTO.equals(edificio.getTipoInteres())) {
			Integer dia = edificio.getVencimiento2();
			return CalendarUtil.createDate(dia, getMes(), getAnio());
		} else {
			return null;
		}
	}
	
	public Date getPeriodo() {
		return CalendarUtil.createDate(getMes(), getAnio());
	}
	
	// ~~ getters y setters ========================================================
	
	public BigDecimal getDeudaPrevia() {
		return deudaPrevia;
	}
	public void setDeudaPrevia(BigDecimal deudaPrevia) {
		this.deudaPrevia = deudaPrevia;
	}
	public BigDecimal getInteres2Vto() {
		return interes2Vto;
	}
	public void setInteres2Vto(BigDecimal interes2Vto) {
		this.interes2Vto = interes2Vto;
	}
	public Integer getAnio() {
		return anio;
	}
	public void setAnio(Integer anio) {
		this.anio = anio;
	}
	public Integer getMes() {
		return mes;
	}
	public void setMes(Integer mes) {
		this.mes = mes;
	}
	public Responsable getResponsable() {
		return responsable;
	}
	public void setResponsable(Responsable responsable) {
		this.responsable = responsable;
	}
}
